<template>
  <div id="DrugsScatter" class="right-wrap">
    <!-- <el-breadcrumb separator-class="el-icon-arrow-right">
        <el-breadcrumb-item>药品信息</el-breadcrumb-item>
      <el-breadcrumb-item>药品分布</el-breadcrumb-item>
    </el-breadcrumb> -->
    <div class="content-wrap" style="max-height:100%;height:100%">
      <!-- 热力图 -->
      <!-- <div id="main" style="height:580px">

      </div> -->
      <!-- 仪表盘 -->
      <el-row>
        <el-col :span="12">
          <h3 style="position:relative;top:49px;color:#bdbebe;z-index:30;text-align:center;font-family:sans-serif;font-weight:normal;color:#fff;font-size:20px">追溯码总量</h3>
          <div id="charts-drugs" style="height:300px;top:-10px;"></div>
        </el-col>
        <el-col :span="12">
          <div id="trace-line" style="height:300px;top:50px"></div>
        </el-col>
      </el-row>
      <el-row>
        <el-col :span="12">
          <div id="trace-all" style="height:400px">

          </div>
        </el-col>
        <el-col :span="12">
          <div id="trace-new" style="height:400px">

          </div>
        </el-col>
      </el-row>
      <!-- 柱状图 -->


      <!-- <div id="trace-search" style="height:400px"></div> -->
      <div id="search-hot" style="height:400px"></div>
    </div>
  </div>
</template>

<script>
  const dataNew = ['  类别A', ' 类别B', '  类别C', ' 类别D', '  类别E', ' 类别F', '  类别G', ' 类别H', '  类别I', ' 类别J']
  const dataAll = ['  类别A', ' 类别B', '  类别C', ' 类别D', '  类别E', ' 类别F', '  类别G', ' 类别H', '  类别I', ' 类别J']
  const dataCompanyY = [10, 52, 30, 20, 30, 15, 22, 20, 30, 15].sort(function (a, b) {
    return a - b
  })
  const dataGoodsY = [21, 23, 45, 23, 65, 21, 23, 54, 23, 12].sort(function (a,
    b) {
    return a - b
  })
  const newData = [
    ["2017-06-05", 116],
    ["2017-06-06", 129],
    ["2017-06-07", 135],
    ["2017-06-08", 86],
    ["2017-06-09", 73],
    ["2017-06-10", 85],
    ["2017-06-11", 73],
    ["2017-06-12", 68],
    ["2017-06-13", 92],
    ["2017-06-14", 130],
    ["2017-06-15", 245],
    ["2017-06-16", 139],
    ["2017-06-17", 115],
    ["2017-06-18", 111],
    ["2017-06-19", 309],
    ["2017-06-20", 206],
    ["2017-06-21", 137],
    ["2017-06-22", 128],
    ["2017-06-23", 85],
    ["2017-06-24", 94],
    ["2017-06-25", 71],
    ["2017-06-26", 106],
    ["2017-06-27", 84],
    ["2017-06-28", 93],
    ["2017-06-29", 85],
    ["2017-06-30", 73],
    ["2017-07-01", 83],
    ["2017-07-02", 125],
    ["2017-07-03", 107],
    ["2017-07-04", 82],
    ["2017-07-05", 44],
    ["2017-07-06", 72],
    ["2017-07-07", 106],
    ["2017-07-08", 107],
    ["2017-07-09", 66],
    ["2017-07-10", 91],
    ["2017-07-11", 92],
    ["2017-07-12", 113],
    ["2017-07-13", 107],
    ["2017-07-14", 131],
    ["2017-07-15", 111],
    ["2017-07-16", 64],
    ["2017-07-17", 69],
    ["2017-07-18", 88],
    ["2017-07-19", 77],
    ["2017-07-20", 83],
    ["2017-07-21", 111],
    ["2017-07-22", 57],
    ["2017-07-23", 55],
    ["2017-07-24", 60]
  ];
  const newdateList = newData.map(function (item) {
    return item[0];
  });
  const newvalueList = newData.map(function (item) {
    return item[1];
  });
  import china from '../../static/js/china'
  export default {
    data() {
      return {}
    },
    mounted: function () {
      var geoCoordMap = {
        "海门": [121.15, 31.89],
        "鄂尔多斯": [109.781327, 39.608266],
        "招远": [120.38, 37.35],
        "舟山": [122.207216, 29.985295],
        "齐齐哈尔": [123.97, 47.33],
        "盐城": [120.13, 33.38],
        "赤峰": [118.87, 42.28],
        "青岛": [120.33, 36.07],
        "乳山": [121.52, 36.89],
        "金昌": [102.188043, 38.520089],
        "泉州": [118.58, 24.93],
        "莱西": [120.53, 36.86],
        "日照": [119.46, 35.42],
        "胶南": [119.97, 35.88],
        "南通": [121.05, 32.08],
        "拉萨": [91.11, 29.97],
        "云浮": [112.02, 22.93],
        "梅州": [116.1, 24.55],
        "文登": [122.05, 37.2],
        "上海": [121.48, 31.22],
        "攀枝花": [101.718637, 26.582347],
        "威海": [122.1, 37.5],
        "承德": [117.93, 40.97],
        "厦门": [118.1, 24.46],
        "汕尾": [115.375279, 22.786211],
        "潮州": [116.63, 23.68],
        "丹东": [124.37, 40.13],
        "太仓": [121.1, 31.45],
        "曲靖": [103.79, 25.51],
        "烟台": [121.39, 37.52],
        "福州": [119.3, 26.08],
        "瓦房店": [121.979603, 39.627114],
        "即墨": [120.45, 36.38],
        "抚顺": [123.97, 41.97],
        "玉溪": [102.52, 24.35],
        "张家口": [114.87, 40.82],
        "阳泉": [113.57, 37.85],
        "莱州": [119.942327, 37.177017],
        "湖州": [120.1, 30.86],
        "汕头": [116.69, 23.39],
        "昆山": [120.95, 31.39],
        "宁波": [121.56, 29.86],
        "湛江": [110.359377, 21.270708],
        "揭阳": [116.35, 23.55],
        "荣成": [122.41, 37.16],
        "连云港": [119.16, 34.59],
        "葫芦岛": [120.836932, 40.711052],
        "常熟": [120.74, 31.64],
        "东莞": [113.75, 23.04],
        "河源": [114.68, 23.73],
        "淮安": [119.15, 33.5],
        "泰州": [119.9, 32.49],
        "南宁": [108.33, 22.84],
        "营口": [122.18, 40.65],
        "惠州": [114.4, 23.09],
        "江阴": [120.26, 31.91],
        "蓬莱": [120.75, 37.8],
        "韶关": [113.62, 24.84],
        "嘉峪关": [98.289152, 39.77313],
        "广州": [113.23, 23.16],
        "延安": [109.47, 36.6],
        "太原": [112.53, 37.87],
        "清远": [113.01, 23.7],
        "中山": [113.38, 22.52],
        "昆明": [102.73, 25.04],
        "寿光": [118.73, 36.86],
        "盘锦": [122.070714, 41.119997],
        "长治": [113.08, 36.18],
        "深圳": [114.07, 22.62],
        "珠海": [113.52, 22.3],
        "宿迁": [118.3, 33.96],
        "咸阳": [108.72, 34.36],
        "铜川": [109.11, 35.09],
        "平度": [119.97, 36.77],
        "佛山": [113.11, 23.05],
        "海口": [110.35, 20.02],
        "江门": [113.06, 22.61],
        "章丘": [117.53, 36.72],
        "肇庆": [112.44, 23.05],
        "大连": [121.62, 38.92],
        "临汾": [111.5, 36.08],
        "吴江": [120.63, 31.16],
        "石嘴山": [106.39, 39.04],
        "沈阳": [123.38, 41.8],
        "苏州": [120.62, 31.32],
        "茂名": [110.88, 21.68],
        "嘉兴": [120.76, 30.77],
        "长春": [125.35, 43.88],
        "胶州": [120.03336, 36.264622],
        "银川": [106.27, 38.47],
        "张家港": [120.555821, 31.875428],
        "三门峡": [111.19, 34.76],
        "锦州": [121.15, 41.13],
        "南昌": [115.89, 28.68],
        "柳州": [109.4, 24.33],
        "三亚": [109.511909, 18.252847],
        "自贡": [104.778442, 29.33903],
        "吉林": [126.57, 43.87],
        "阳江": [111.95, 21.85],
        "泸州": [105.39, 28.91],
        "西宁": [101.74, 36.56],
        "宜宾": [104.56, 29.77],
        "呼和浩特": [111.65, 40.82],
        "成都": [104.06, 30.67],
        "大同": [113.3, 40.12],
        "镇江": [119.44, 32.2],
        "桂林": [110.28, 25.29],
        "张家界": [110.479191, 29.117096],
        "宜兴": [119.82, 31.36],
        "北海": [109.12, 21.49],
        "西安": [108.95, 34.27],
        "金坛": [119.56, 31.74],
        "东营": [118.49, 37.46],
        "牡丹江": [129.58, 44.6],
        "遵义": [106.9, 27.7],
        "绍兴": [120.58, 30.01],
        "扬州": [119.42, 32.39],
        "常州": [119.95, 31.79],
        "潍坊": [119.1, 36.62],
        "重庆": [106.54, 29.59],
        "台州": [121.420757, 28.656386],
        "南京": [118.78, 32.04],
        "滨州": [118.03, 37.36],
        "贵阳": [106.71, 26.57],
        "无锡": [120.29, 31.59],
        "本溪": [123.73, 41.3],
        "克拉玛依": [84.77, 45.59],
        "渭南": [109.5, 34.52],
        "马鞍山": [118.48, 31.56],
        "宝鸡": [107.15, 34.38],
        "焦作": [113.21, 35.24],
        "句容": [119.16, 31.95],
        "北京": [116.46, 39.92],
        "徐州": [117.2, 34.26],
        "衡水": [115.72, 37.72],
        "包头": [110, 40.58],
        "绵阳": [104.73, 31.48],
        "乌鲁木齐": [87.68, 43.77],
        "枣庄": [117.57, 34.86],
        "杭州": [120.19, 30.26],
        "淄博": [118.05, 36.78],
        "鞍山": [122.85, 41.12],
        "溧阳": [119.48, 31.43],
        "库尔勒": [86.06, 41.68],
        "安阳": [114.35, 36.1],
        "开封": [114.35, 34.79],
        "济南": [117, 36.65],
        "德阳": [104.37, 31.13],
        "温州": [120.65, 28.01],
        "九江": [115.97, 29.71],
        "邯郸": [114.47, 36.6],
        "临安": [119.72, 30.23],
        "兰州": [103.73, 36.03],
        "沧州": [116.83, 38.33],
        "临沂": [118.35, 35.05],
        "南充": [106.110698, 30.837793],
        "天津": [117.2, 39.13],
        "富阳": [119.95, 30.07],
        "泰安": [117.13, 36.18],
        "诸暨": [120.23, 29.71],
        "郑州": [113.65, 34.76],
        "哈尔滨": [126.63, 45.75],
        "聊城": [115.97, 36.45],
        "芜湖": [118.38, 31.33],
        "唐山": [118.02, 39.63],
        "平顶山": [113.29, 33.75],
        "邢台": [114.48, 37.05],
        "德州": [116.29, 37.45],
        "济宁": [116.59, 35.38],
        "荆州": [112.239741, 30.335165],
        "宜昌": [111.3, 30.7],
        "义乌": [120.06, 29.32],
        "丽水": [119.92, 28.45],
        "洛阳": [112.44, 34.7],
        "秦皇岛": [119.57, 39.95],
        "株洲": [113.16, 27.83],
        "石家庄": [114.48, 38.03],
        "莱芜": [117.67, 36.19],
        "常德": [111.69, 29.05],
        "保定": [115.48, 38.85],
        "湘潭": [112.91, 27.87],
        "金华": [119.64, 29.12],
        "岳阳": [113.09, 29.37],
        "长沙": [113, 28.21],
        "衢州": [118.88, 28.97],
        "廊坊": [116.7, 39.53],
        "菏泽": [115.480656, 35.23375],
        "合肥": [117.27, 31.86],
        "武汉": [114.31, 30.52],
        "大庆": [125.03, 46.58]
      };

      var convertData = function (data) {
        var res = [];
        for (var i = 0; i < data.length; i++) {
          var geoCoord = geoCoordMap[data[i].name];
          if (geoCoord) {
            res.push({
              name: data[i].name,
              value: geoCoord.concat(data[i].value)
            });
          }
        }
        return res;
      };

      //仪表盘

      //仪表盘-药品总量
      //仪表盘-追溯码总量
      var optionMedcode = {
        backgroundColor: '#1d2531',
        tooltip: {
          formatter: "{a} <br/>{b} : {c}"
        },
        toolbox: {
          feature: {
            // restore: {},
            saveAsImage: {}
          }
        },
        series: [{
          name: '业务指标',
          type: 'gauge',
          min: 0,
          max: 10,
          detail: {
            formatter: function (value) {
              return value * 10 + '万个'
            },
            fontSize: 12,
            color: '#fff'
          },
          radius: '50%',
          axisLine: { // 坐标轴线
            lineStyle: { // 属性lineStyle控制线条样式
              color: [
                [0.09, 'lime'],
                [0.82, '#1e90ff'],
                [1, '#ff4500']
              ],
              width: 2,
              shadowColor: '#fff', //默认透明
              shadowBlur: 10
            }
          },
          axisLabel: { // 坐标轴小标记
            textStyle: { // 属性lineStyle控制线条样式
              fontWeight: 'bolder',
              color: '#1d2531',
              shadowColor: '#fff', //默认透明
              shadowBlur: 10,
            },
          },
          data: [{
            value: 3,
            titileValue: 500,
            name: '',
          }]
        }]
      };
      //条形图
      var optionAll = {
        title: {
          text: '企业追溯码总量',
          x:'center',
          textStyle: {
            //文字颜色
            color: '#fff',
            //字体风格,'normal','italic','oblique'
            fontStyle: 'normal',
            //字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
            fontWeight: 'normal',
            //字体系列
            fontFamily: 'sans-serif',
            fontSize:20
          }
        },
        color: ['#62d1cf'],
        tooltip: {
          trigger: 'axis',
          axisPointer: { // 坐标轴指示器，坐标轴触发有效
            type: 'shadow' // 默认为直线，可选为：'line' | 'shadow'
          }
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          containLabel: true
        },
        yAxis: [{
          type: 'category',
          data: dataAll,
          axisTick: {
            alignWithLabel: true
          },
          axisLabel: {

            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }
          }
        }],
        xAxis: [{
          type: 'value',
          axisLabel: {
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }
          }
        }],
        series: [{
          name: '直接访问',
          type: 'bar',
          barWidth: '40%',
          data: dataGoodsY
        }]
      };
      //柱形图-企业新增
      var optionNew = {
        title: {
          text: '本月新增追溯码量',
          x:'center',
          textStyle: {
            //文字颜色
            color: '#fff',
            //字体风格,'normal','italic','oblique'
            fontStyle: 'normal',
            //字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
            fontWeight: 'normal',
            //字体系列
            fontFamily: 'sans-serif',
            fontSize:20
          }
        },
        color: ['#f48400'],
        tooltip: {
          trigger: 'axis',
          axisPointer: { // 坐标轴指示器，坐标轴触发有效
            type: 'shadow' // 默认为直线，可选为：'line' | 'shadow'
          }
        },
        grid: {
          left: '3%',
          right: '4%',
          bottom: '3%',
          containLabel: true
        },
        yAxis: [{
          type: 'category',
          data: dataNew,
          axisTick: {
            alignWithLabel: true
          },
          axisLabel: {
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }
          }
        }],
        xAxis: [{
          type: 'value',
          axisLabel: {
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }
          }
        }],
        series: [{
          name: '直接访问',
          type: 'bar',
          barWidth: '40%',
          data: dataCompanyY
        }]
      };
      //折线图-追溯码新增
      var optionLine = {

        // Make gradient line here
        visualMap: [{
          show: false,
          type: 'continuous',
          seriesIndex: 0,
          min: 0,
          max: 400
        }],
        title: [{
          x: 'center',
          text: '企业新增追溯码量趋势',
          textStyle: {
            //文字颜色
            color: '#fff',
            //字体风格,'normal','italic','oblique'
            fontStyle: 'normal',
            //字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
            fontWeight: 'normal',
            //字体系列
            fontFamily: 'sans-serif',
            fontSize:20
          }
        }],
        tooltip: {
          trigger: 'axis'
        },
        xAxis: [{
          data: newdateList,
          axisLabel: {
            // rotate:30,
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }
          }
        }],
        yAxis: [{
          splitLine: {
            show: false
          },
          axisLabel: {
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }
          }
        }],
        grid: [{
          bottom: '20%'
        }],
        series: [{
          type: 'line',
          showSymbol: false,
          data: newvalueList
        }]
      }
      // 热力图

var hours = ['一月','二月','三月','四月','五月','六月','七月','八月','九月','十月','十一月','十二月']
var days = [];
for(let i=1;i<11;i++){
  days.push('产品'+i)
}

var data = [[0,0,5],[0,1,1],[0,2,10],[0,3,20],[0,4,0],[0,5,9],[0,6,1],[0,7,8],[0,8,10],[0,9,0],[0,10,0],[0,11,2],
[1,0,7],[1,1,0],[1,2,0],[1,3,1],[1,4,0],[1,5,0],[1,6,20],[1,7,0],[1,8,9],[1,9,0],[1,10,5],[1,11,2],
[2,0,1],[2,1,1],[2,2,8],[2,3,5],[2,4,1],[2,5,8],[2,6,11],[2,7,22],[2,8,0],[2,9,0],[2,10,3],[2,11,2],
[3,1,3],[3,2,0],[3,3,0],[3,4,8],[3,5,22],[3,6,18],[3,7,0],[3,8,1],[3,9,10],[3,10,5],[3,11,4],
[4,0,11],[4,1,3],[4,2,7],[4,3,9],[4,4,0],[4,5,1],[4,6,12],[4,7,0],[4,8,7],[4,9,2],[4,10,4],[4,11,4],
[5,0,2],[5,1,1],[5,2,5],[5,3,3],[5,4,4],[5,5,11],[5,6,0],[5,7,6],[5,8,2],[5,9,15],[5,10,4],[5,11,1],
[6,0,1],[6,1,0],[6,2,0],[6,3,14],[6,4,0],[6,5,2],[6,6,17],[6,7,0],[6,8,0],[6,9,0],[6,10,1],[6,11,0],
[7,0,21],[7,1,11],[7,2,10],[7,3,14],[7,4,3],[7,5,2],[7,6,17],[7,7,4],[7,8,0],[7,9,2],[7,10,1],[7,11,0],
[8,0,1],[8,1,11],[8,2,2],[8,3,14],[8,4,7],[8,5,2],[8,6,17],[8,7,9],[8,8,10],[8,9,2],[8,10,1],[8,11,0],
[9,0,1],[9,1,0],[9,2,7],[9,3,14],[9,4,0],[9,5,2],[9,6,17],[9,7,0],[9,8,10],[9,9,21],[9,10,1],[9,11,0]]
data = data.map(function (item) {
    return [item[1], item[0], item[2] || '-'];
});

var optionHot = {
  title: {
          text: '药品终端查询热力图',
          x:'center',
          padding:[0,0,20,0],
          textStyle: {
            //文字颜色
            color: '#fff',
            //字体风格,'normal','italic','oblique'
            fontStyle: 'normal',
            //字体粗细 'normal','bold','bolder','lighter',100 | 200 | 300 | 400...
            fontWeight: 'normal',
            //字体系列
            fontFamily: 'sans-serif',
            fontSize:20
          }},
    tooltip: {
        position: 'top'
    },
    animation: false,
    grid: {
        height: '50%',
        y: '10%'
    },
    xAxis: {
        type: 'category',
        data: hours,
        splitArea: {
            show: true
        },
          axisLabel: {
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }},
    },
    yAxis: {
        type: 'category',
        data: days,
        splitArea: {
            show: true
        },
          axisLabel: {
            textStyle: {
              color: '#fff'
            }
          },
          axisLine: {
            lineStyle: {
              color: '#fff',
              width: 1
            }}
    },
    visualMap: {
        min: 0,
        max: 10,
        calculable: true,
        orient: 'horizontal',
        left: 'center',
        bottom: '15%'
    },
    series: [{
        name: 'Punch Card',
        type: 'heatmap',
        data: data,
        label: {
            normal: {
                show: true
            }
        },
        itemStyle: {
            emphasis: {
                shadowBlur: 10,
                shadowColor: 'rgba(0, 0, 0, 0.5)'
            }
        }
    }]
};






      //仪表盘
      this.$echarts.init(document.getElementById('charts-drugs')).setOption(optionMedcode)
      // this.$echarts.init(document.getElementById('charts-medcode')).setOption(optionMedcode)
      //柱状图
      this.$echarts.init(document.getElementById('trace-all')).setOption(optionAll)
      this.$echarts.init(document.getElementById('trace-new')).setOption(optionNew)
      //折线图
      this.$echarts.init(document.getElementById('trace-line')).setOption(optionLine)
      // this.$echarts.init(document.getElementById('trace-search')).setOption(optionSearch)
      //热力图
      this.$echarts.init(document.getElementById('search-hot')).setOption(optionHot)
    }

  }

</script>

<style scoped>
  #main {
    width: 100%;
    height: 100%;
    overflow: scroll
  }
#DrugsScatter >>> .el-row{
  margin-bottom: 50px;
}
  .content-wrap {
    background: #1d2531
  }

  .charts-wrap span {
    position: absolute;
    color: white;
    left: 50%;
    transform: translate(-50%, 0);
    bottom: 60px;
    z-index: 20;
  }

  .charts-wrap {
    height: 400px;
  }

  .charts-wrap li {
    position: relative;
    list-style-type: none;
    float: left;
    width: 50%;
    height: 400px;
  }
  /* #charts-enterprise {
    width: 100%;
    height: 100%;
    overflow: scroll;
  } */

</style>
